package com.demandbreakdown.xiyun.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 空间用户关联实体类
 *
 * @author poxz
 */
@TableName("space_user")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SpaceUser {
    /**
     * 关联ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 空间ID
     */
    private Long spaceId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 用户角色：owner/editor/viewer
     */
    private String userRole;

    /**
     * 加入状态：0-待审核，1-已加入，2-已拒绝
     */
    private Integer joinStatus;

    /**
     * 邀请人ID
     */
    private Long inviteBy;

    /**
     * 加入时间
     */
    private LocalDateTime joinTime;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 逻辑删除：0-未删除，1-已删除
     */
    @TableLogic
    @TableField("is_delete")
    private Integer isDelete;
}